
/**
 * 系统工具方法
 */
var KgoUtil = (function(){
	//动态属性监听
	var dProperty = {};

	//layui的内置模块已经开放 ，这里可以先注释掉
	var $ = layui.$;
	/**
	 * 获取变量参数
	 */
	function getState(mkey){
		if(typeof dProperty[mkey] == "function"){
			return dProperty[mkey]();
		}else{
			return dProperty[mkey];
		}

	}
	/**
	 * 设置状态
	 */
	function setState(mkey,value){
		dProperty[mkey] = value;

	}
	/**
	 * json数组分组
	 */
	function jsonGroupBy(jsonArray,bykey,byname){
		var map = {},tempList = [];
		for (var i = 0; i < jsonArray.length; i++) {
			var item = jsonArray[i]
			if(!map[item[bykey]]){
				tempList.push({
					id:item[bykey],
					name:item[byname],
					data:[item]
				});
				map[item[bykey]] = item;
			}else{
				for(var j = 0;j<tempList.length;j++){
					var data_list = tempList[j];
					if(data_list.id==item[bykey]){

						data_list.data.push(item);

					}
				}
			}
		}
		return tempList;
	}
	/**
	 * 判断对象是否为空
	 */
	function objIsNull(obj){
		//console.log(" 判断 --》" +typeof(obj));
		if(typeof(obj) == "undefined"){
			//console.log(" 判断 ：undefined");
			return true;
		}
		if(obj===null){
			//console.log(" 判断 ：null");
			return true;
		}
		if(typeof(obj) == "string"&&obj==""||obj==" "){
			//console.log(" 判断 ：字符串空");
			return true;
		}
		return false;
	}
	/**
	 * 判断对象是否为空
	 */
	function objIsNotNull(obj){
		if(typeof(obj) == "undefined"){
			//console.log(" 判断 ：undefined");
			return false;
		}
		if(obj===null){
			//console.log(" 判断 ：null");
			return false;
		}
		if(typeof(obj) == "string"&&obj==""||obj==" "){
			//console.log(" 判断 ：字符串空");
			return false;
		}
		return true;
	}
	return{
		//开放方法：获取分区信息
		getState:function(mkey){
			return getState(mkey);
		},
		getAllState:function(){
			return dProperty;
		},
		setState:function(mkey,value){
			setState(mkey,value);
		},
		jsonGroupBy:function(jsonArray,bykey,byname){
			return jsonGroupBy(jsonArray,bykey,byname);
		},
		objIsNull:function(obj){
			return objIsNull(obj);
		},
		objIsNotNull:function(obj){
			return objIsNotNull(obj);
		}
	}
})();
//闭包结束
var $ = layui.$;
window.KgoUtil = KgoUtil;



